<template>
    <div>
        <!-- 返回 -->
        <el-card shadow="never" class="!border-none">
            <el-page-header
                content="智能体详情"
                @back="emits('listen', 'lists')"
            />
        </el-card>

        <!-- 表单 -->
        <el-card shadow="never" class="!border-none mt-4">
            <el-form label-position="left" label-width="100px" :disabled="true" >
                <el-tabs :model-value="'base'">
                    <el-tab-pane lazy label="基础配置" name="base">
                        <app-basis v-model="formData" />
                    </el-tab-pane>
                    <el-tab-pane lazy label="模型配置" name="search">
                        <app-model v-model="formData" />
                    </el-tab-pane>
                    <el-tab-pane lazy label="界面配置" name="interface">
                        <app-pages v-model="formData" />
                    </el-tab-pane>
                </el-tabs>
            </el-form>
        </el-card>
    </div>
</template>

<script setup lang="ts">
import robotSmarterApi from '@/api/agent/robot/smarter'
import AppBasis from '../_applications/app-basis.vue'
import AppModel from '../_applications/app-model.vue'
import AppPages from '../_applications/app-pages.vue'

const emits = defineEmits(['listen'])
const props = defineProps({
    // 智能体ID
    id: {
        type: Number,
        default: 0
    }
})

// 表单数据
const formData = ref({
    id: props.id,            // 智能体ID
    code: '',                // 智能体编号
    logo: '',                // 智能体图标
    name: '',                // 智能体名称
    intro: '',               // 智能体简介
    search_mode: '',         // 检索的模式: [语义, 全文, 混合]
    search_tokens: 5000,     // 检索引用数: [100 ~ 30000]
    search_similar: 0.4,     // 检索相似度: [0 ~ 1]
    annex_similar: 0.4,      // 附件相似度: [0 ~ 1]
    ranking_status: 0,       // 检索的重排: [0=否, 1=是]
    ranking_score: 0.5,      // 重排分数
    ranking_model:'',        // 重排模型
    optimize_ask: 0,         // 问题的优化: [0=否, 1=是]
    optimize_model: '',      // 问题模型
    prompt_roles: '',        // 角色提示词
    prompt_limit: '',        // 限定提示词
    welcome_text: '',        // 欢迎光临词
    empty_search_text: '',   // 限定提示词
    empty_search_type: 'ai', // 空搜索类型: [ai, default]
    is_show_quote: 0,        // 显示引用: [0=否, 1=是]
    is_show_context: 0,      // 显上下文: [0=否, 1=是]
    is_disable: 0,           // 是否禁用: [0=否, 1=是]
    llm_models: '',          // 对话的模型
    llm_config: [],          // 模型的参数
    knows: [],               // 关联知识库
    mcps: []                 // 关联MCP
})

watch(
    () => props.id,
    async (val) => {
        if (val) {
            formData.value = await robotSmarterApi.detail(val)
        }
    },
    { immediate: true }
)
</script>
